Bigloo.NET: compiling Scheme to .NET CLR
نویسندگان
چکیده
This paper presents the compilation of the Scheme programming language to .NET. This platform provides a virtual machine, the Common Language Runtime (CLR), that executes bytecode, the Common Intermediate Language (CIL). Since CIL was designed with language agnosticism in mind, it provides a rich set of language constructs and functionalities. As such, the CLR is the first execution environment that offers type safety, managed memory, tail recursion support and several flavors of pointers to functions. Therefore, the CLR presents an interesting ground for functional language implementations. We discuss how to map Scheme constructs to CIL. We present performance analyses on a large set of real-life and standard Scheme benchmarks. In particular, we compare the speed of these programs when compiled to C, JVM and .NET. We show that in term of speed performance of the Mono implementation of .NET, the best implementing running on both Windows and Linux, still lags behind C and fast JVMs such as the Sun’s implementations.
منابع مشابه
Compiling Scheme programs to .NET Common Intermediate Language
This paper presents the compilation of the Scheme programming language to .NET platform. .NET provides a virtual machine, the Common Language Runtime (CLR), that executes bytecode: the Common Intermediate Language (CIL). Since CIL was designed with language agnosticism in mind, it provides a rich set of language constructs and functionalities. Therefore, the CLR is the first execution environme...
متن کاملCompiling Mercury to the .NET Common Language Runtime
The .NET Common Language Runtime (CLR) offers a new opportunity to experiment with multi-language interoperation, and provides a relatively rare chance to explore deep interoperation of a wide range of programming language paradigms. This article describes how the logic/functional programming language Mercury is compiled to the CLR. We describe the problems we have encountered with generating c...
متن کاملCompiling Ruby on the CLR
The implementation of statically typed programming languages on the .NET CLR is by now well understood [1]. However, the situation with dynamic languages is not so clear. Typically such languages have objects that are dynamically typed, while the CLR is statically typed at the instruction code level. Nevertheless there is a growing body of evidence suggesting that the CLR can be a suitable targ...
متن کاملQuantitative structure-pharmacokinetic relationships for the prediction of renal clearance in humans.
Renal clearance (CLR), a major route of elimination for many drugs and drug metabolites, represents the net result of glomerular filtration, active secretion and reabsorption, and passive reabsorption. The aim of this study was to develop quantitative structure-pharmacokinetic relationships (QSPKR) to predict CLR of drugs or drug-like compounds in humans. Human CLR data for 382 compounds were o...
متن کاملRunning Lua Scripts on the CLR through Bytecode Translation
The .NET Common Language Runtime (CLR) aims to provide interoperability among code written in several different languages, but porting scripting languages to it, so that scripts can run natively, has been hard. This paper presents our approach for running scripts written in Lua, a scripting language, on the .NET CLR. Previous approaches for running scripting languages on the CLR have focused on...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Journal of Object Technology
دوره 3 شماره
صفحات -
تاریخ انتشار 2004